package com.neuedu.hw20190221;

import java.io.File;
import java.util.Scanner;

public class FileHw01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个目录地址：");
        //将输入的地址给了filestr
        String filestr = scanner.next();
        System.out.print("请输入一个关键字：");
        String filekey = scanner.next();
        printfile(filestr,filekey);
    }

    /**
     * 输出文件信息
     * @param fileinf 接收传入的文件路径
     * @param key 接收传入的关键字
     */
    public static void printfile(String fileinf,String key){
        //创建一个文件对象，将输入的目录地址传入
        File file0 = new File(fileinf);
        if (file0.exists()){
            //如果目录地址存在，输出这个目录地址下的所有文件信息
            String [] strfiles = file0.list();
            if (strfiles != null) {
                System.out.println("目录地址 "+fileinf+" 下的文件为：");
                for (String str : strfiles) {
                    System.out.print(str+"\t");
                }
                System.out.println();

                System.out.println("包含关键字 " + key + " 的文件信息为：");
                //遍历输出包含关键字的文件信息
                for (int i=0; i<strfiles.length;i++){
                    if (strfiles[i].indexOf(key) != -1){ //若不存在key
                        System.out.print(strfiles[i]+"\t");
                    }
                }
                System.out.println();

                //输出子目录下的文件信息
                for (int i=0; i<strfiles.length;i++) {
                    printfile(fileinf + "/" + strfiles[i], key);
                }
            }
        }
    }
}
